iT邦幫忙

2022 iThome 鐵人賽

DAY 24
1
自我挑戰組

電腦、網路大解密 系列 第 24

Day 24 - 簡易 javascript 應用實作篇

  • 分享至 

  • xImage
  •  

上上回我們講到善用 CSS、javscript 能讓網頁有更好的使用者體驗,今天我們就透過使用 javascript 來為超陽春 Blog 增加一個小功能,來體會一下 javascript 的用途。

javascript 程式寫在哪裡

以新增文章頁的 new.html.erb 為例,我們可以在 HTML 標籤 <script> 中寫 javascript 的程式。另外有些 HTML tag 例如 <button> 可以綁定事件 onclick,用來設定按鈕被點的時候要做的事情。

這邊我們用 alert() 來示範,一進入新增文章頁就會執行 <script> 中的程式,所以會跳出一個警告視窗。在按下新增的按鈕時,會觸發綁在按鈕上面的 onclick 事件,也會跳出一個警告視窗。

<header>
  New Blog Post
</header>

<div class="content">
  <%= form_for :article, url: articles_path do |f| %>
    <p class="title-field">
      <%= f.label :title %>
      <%= f.text_field :title %>
    </p>
  
    <p class="content-field">
      <%= f.label :content %>
      <%= f.text_area :content %>
    </p>
  
    <p class="button">
      <%= f.submit %>
    </p>
  <% end %>

  <button onclick="alert('GGGGG')"> Don't click me</button>

</div>

<script>
  alert("GG")
</script>

檢查文章字數

資料庫儲存文章可能會有字數限制,如果不檢查就直接嘗試寫入的話,Server 端會回應錯誤代碼 500。我們可以用 javascript 在使用者按下送出文章的按鈕時,幫忙檢查一下字數上限,如果超過了就直接顯示錯誤。因為 javascript 在瀏覽器上執行,使用瀏覽器的運算資源,這樣一來,就不會送出請求給 Server 端,可以減輕 Server 端的負擔。

function checkContentLength(event) {
  var content = document.querySelector(".content-field textarea");
  if (content.textLength > 100) {
    console.log(event)
    alert("Content should be under 100 characters.");
  }
}

上一篇
Day 23 - 用 CSS 裝飾網站實作篇
下一篇
Day 25 - 前端?後端?
系列文
電腦、網路大解密 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言